home *** CD-ROM | disk | FTP | other *** search
/ The PC-SIG Library 10 / The PC-Sig Library - Shareware for the IBM PC and Compatibles (PC-SIG)(Tenth Edition Disks 1-2804)(1991).iso / PC_SIGCD / 10 / 9 / DISK1095.ZIP / HRMRPT.PRG < prev    next >
Text File  |  1987-02-14  |  4KB  |  128 lines

  1. *
  2. * HRM FILE LISTING
  3. * LISTS SELECTED SUBSET OF RECORDS IN PERSONNEL FILE
  4. SET HEADING OFF
  5. SET SAFETY OFF
  6. SET STATUS OFF
  7. CLEAR
  8. CLEAR ALL
  9. SET TALK OFF
  10. SET BELL OFF
  11. @ 1,22 SAY "SMITH'S BIKEWORKS INFORMATION SYSTEM"
  12. @ 3,14 SAY ">> Human Resources Management System File Listing <<"
  13. @ 5,29 SAY "Today's Date: "
  14. ?? DATE()
  15. STORE "                    " TO NAMEST
  16. STORE "zzzzzzzzzzzzzzzzzzzz" TO NAMEEND
  17. STORE "YES" TO YNAPL
  18. STORE "YES" TO YNHIST
  19. STORE "PERSONNL" TO FILENAME
  20. STORE "PNAME   " TO INDEX
  21. @ 7,1 SAY "Beginning LAST NAME to Include in Report " GET NAMEST
  22. @ 9,1 SAY "Ending LAST NAME to Include in Report    " GET NAMEEND
  23. @ 11,1 SAY "Include APPLICANTS in the Report ? " GET YNAPL
  24. @ 13,1 SAY "Run Report From The Following FILE " GET FILENAME
  25. @ 15,1 SAY "Ordered by the Following INDEX     " GET INDEX
  26. @ 17,1 SAY "Include EMPLOYMENT HISTORY in the Report ? " GET YNHIST
  27. STORE " " TO DUMMY
  28. @ 21,1 SAY ;
  29. "REPLACE VALUES AT CURSOR, OR JUST PRESS ENTER IF CURRENT REPORT DESCRIPTION"
  30. @ 22,1 SAY ;
  31. "IS O.K.  'M' HERE RETURNS TO MENU, ANY OTHER KEY STARTS THE REPORT =>";
  32. GET DUMMY
  33. READ
  34. STORE UPPER(DUMMY) TO DUMMY
  35. IF DUMMY="M"
  36.    RETURN
  37. ENDIF
  38. * OPEN FILE USING INDEX SPECIFIED ABOVE AND SSAN INDEX FOR LINK TO HISTORY
  39. IF INDEX="  "
  40.    USE &FILENAME INDEX PSSAN
  41. ELSE
  42.    USE &FILENAME INDEX &INDEX,PSSAN
  43. ENDIF
  44. * IF EMPLOYMENT HISTORY REQUESTED, OPEN HISTORY FILE
  45. IF YNHIST="Y"
  46.    SELECT B
  47.    USE EXPHIST INDEX LPSSAN
  48.    SELECT A
  49. ENDIF
  50. * RUN REPORT SELECTING RECORDS AS SPECIFIED BY DEFAULTS OR SCREEN INPUTS
  51. GO TOP
  52. SET CONSOLE OFF
  53. SET PRINT ON
  54. SET DEVICE TO PRINT
  55. STORE 0 TO PAGENO
  56. STORE (1=2) TO END
  57. STORE 51 TO LINECNT
  58. DO WHILE .NOT. EOF()
  59. * CHECK TO SEE IF PERSONNEL RECORD SATISFIES SELECTION CRITERIA
  60. * AND THAT RECORD IS NOT FLAGGED FOR DELETION
  61.    IF A->LAST_NAME>=NAMEST.AND.A->LAST_NAME<=NAMEEND.AND.;
  62.    (YNAPL="Y".OR.HIRED).AND..NOT.DELETE()
  63.       IF LINECNT>50
  64. * PRINT PAGE HEADING
  65.          STORE 0 TO LINECNT
  66.          STORE PAGENO+1 TO PAGENO
  67.          IF PAGENO>1
  68.             EJECT
  69.          ENDIF
  70.          @ 4,22 SAY "SMITH'S BIKEWORKS INFORMATION SYSTEM"
  71.          @ 6,17 SAY " "
  72.          ??  "Personnel Listing Dated:",DATE(),"   Page",STR(PAGENO,3,0)
  73.          ?
  74.       ENDIF
  75.       ?
  76.       ? "Name :",TRIM(A->LAST_NAME)+","+TRIM(A->FIRST_NAME)+" "+A->INITIAL
  77.       ?? "  SSAN :",A->SSAN,"   Employee ?",A->HIRED
  78.       ? "Address :",TRIM(A->STREET),TRIM(A->CITY),",",A->STATE,A->ZIP
  79.       ?? "  Mar. Status :",A->MAR_STATUS
  80.       ? "Hourly ? :",A->HOURLY," Rate/Salary :",A->PAY_RATE,;
  81.       " Overtime Fac. :",A->OVER_TIME," Exemptions :",A->EXEMP
  82.       ?
  83.       STORE LINECNT+5 TO LINECNT
  84. * RETRIEVE AND PRINT ALL LINKED EXPERIENCE (HISTORY) RECORDS IF REQUESTED
  85. * THESE WILL PRINT ACROSS A PAGE BOUNDARY IF THERE ARE MANY OF THEM
  86.       IF YNHIST="Y"
  87.          SELECT B
  88.          STORE A->SSAN TO TEMP
  89.          FIND &TEMP
  90.          STORE RECNO() TO RECNOW
  91.          DO WHILE .NOT. EOF() .AND. B->SSAN=A->SSAN
  92.             ? "Work Code/Title :",B->WORK_CODE,B->WORK_TITLE," Period :",;
  93.             B->START_DATE,"to",B->END_DATE
  94.             ? "Employer :",TRIM(B->EMP_NAME),", ",TRIM(B->EMP_STREET),;
  95.             TRIM(B->EMP_CITY),",",B->EMP_STATE
  96.             ?
  97.             STORE LINECNT+3 TO LINECNT
  98. * LOOK FOR NEXT LINKED RECORD, MAKE SURE THERE IS A MATCH
  99.             STORE RECNO() TO RECNOW
  100.             SKIP +1
  101. * FOLLOWING CODE FROM HALLE/MUSKAT REVISION --- DID NOT WORK!!!!
  102. *            DO CASE
  103. *            CASE RECNO()=RECNOW
  104. *               STORE 0 TO RECNOW
  105. *            CASE B->SSAN=A->SSAN
  106. *               STORE RECNO() TO RECNOW
  107. *            OTHERWISE
  108. *               STORE 0 TO RECNOW
  109. *            ENDCASE
  110.          ENDDO
  111.       ENDIF
  112.    ENDIF
  113. * GET NEXT PERSONNEL RECORD IN INDEX SEQUENCE. SET END TO TRUE IF LAST RECORD
  114.    SELECT A
  115.    STORE RECNO() TO RECNOW
  116.    SKIP 1
  117.    IF RECNO()=RECNOW
  118. * SET END LOGICAL VARIABLE TO TRUE
  119.       STORE (1=1) TO END
  120.    ENDIF
  121. ENDDO
  122. EJECT
  123. SET PRINT OFF
  124. SET DEVICE TO SCREEN
  125. SET CONSOLE ON
  126. CLEAR
  127. RETURN
  128.